let a = 3//全局执行上下文中声明了一个新变量a，并赋值为3
function addTwo(x) {
    let ret = x + 2
    return ret
}//分配了函数定义
let b = addTwo(a)//全局执行上下文声明一个新变量b且值为undefined，
//JavaScript将在其全局执行上下文内存中查找名为addTwo的变量。
// 变量a作为参数传递给函数。JavaScript在全局执行上下文内存中搜索变量a，找到它，发现它的值是3，并将数字3作为参数传递给函数，准备好执行函数。
//现在执行上下文将切换,创建了一个新的本地执行上下文，我们将其命名为“addTwo执行上下文”，执行上下文被推送到调用堆栈上。
//在addTwo执行上下文中声明一个新的变量``x```，因为值3是作为参数传递的，所以变量x被赋值为3。

console.log(b)